[C] POSIX Threads
Publicado por Enzo de Brito Ferber 26/01/2009
[ Hits: 6.864 ]
Homepage: http://www.maximasonorizacao.com.br
O foco deste programa é fazer com que o processo filho criado por fork() não seja terminado quando o processo pai termina, e para isso, usei threads. Para terminar o programa, digite no terminal:
kill <child_pid>
O child_pid é mostrado ao usuário quando o programa é executado. Bem legal :)
// pthread2.c /* * Enzo Ferber : <enzo@veloxmail.com.br> * * POSIX Threads Test 2 * @ Exit parent and go on with child. * * $ gcc -lpthread -o pthread2 pthread2.c */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> // getpid #include <pthread.h> // POSIX Threads #include <sys/types.h> // getpid // child in infinite loop void *childfunction ( void *ptr ) { pthread_t self = pthread_self (); pthread_detach ( self ); for ( ; ; ) { printf ( "[*] Here I am again ... \n"); sleep (2); } } // main function int main ( int argc, char *argv[] ) { pthread_t child; int cret; // child pthread_create () return // child if ( !fork() ) { printf ( "[*] Child proccess begining ... \n" ); cret = pthread_create ( &child, NULL, childfunction, NULL ); printf ( "[*] Child PID: %d\n", getpid () ); pthread_join ( child, NULL ); } // parent else { printf ( "[*] Parent PID: %d\n", getpid () ); printf ( "[*] Aborting parent ...\n" ); exit (0); } // end main return 0; } // EoF
Um Classico exercicio de Lógica de Programação
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta